#ifndef __IntTreat_H
#define __IntTreat_H

#ifdef APM32E10X_HD
	#include "apm32e10x_iwdt.h"
#elif defined AT32F403AVGT7
	#include "at32f403a_407_wdt.h"
#else
	#include "apm32f10x_iwdt.h"
#endif

#include "Key.h"
#include "Leakage_Detect.h"
#include "PE_Detect.h"
#include "CarD1_Detect.h"
#include "TimerDef.h"
#include "BoardData.h"
#include "BoardWork.h"
#include "uart.h"
#include "stdio.h"
#include "tools.h"
#include <string.h>

#if Using_UART_LCD == LCD_0P42_IIC
	#include "IIC.h"
	#include "SSD1306.h"
#elif Using_UART_LCD == LCD_4P3_UART
	#include "LCD4P3.h"
#endif

#if card_type_sel > 0
	#include "MF1CardWork.h"
#endif

#if BLE_WIFY_EN > 0
  #include "bleWifi.h"
#endif

#if BleWifi_type == BleWifi_Ai_WB2
  #include "encryptionSM4.h"
	#include "base64.h"  
#endif

#if (UI_Meter_Method == Meter_SelfADC) 
void readUIValue(void);
void getPowerValue(void);
#endif

#if PinPick_RatedI > 0
void PinPick_Detect(void);
#endif

#if Key1  > 0
void keyDetect(void);
#endif
#ifndef UsingFreeRTOS
#if PE_ON > 0
void PEDetect(void);
#endif
void get_CarD1_data(void);
#endif

#if RCD_Detect == RCD_Detect_POLL
void LeakDetect(void);
#endif

#if CC_Detect_type > 0
void CC_Detect(void);
#endif

#if RlyAdh_Detect_type > 0
void RlyAdh_Detect(void);
#endif

#ifndef UsingFreeRTOS
void task_scheduling(void);
#endif

void Tmr_PWM_TO_LowLevel_ACTION(void);
void Tmr_PWM_TO_HighLevel_ACTION(void);
void UART3_IRQn_Fun(void);

#endif

